package com.pureut.order.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 *采购订单 实体
 */
@Data
@TableName("purchase_order")
@Accessors(chain = true)
public class PurchaseOrder {

    /**
     * id
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 部门id
     */
    private long deptId;

    /**
     * 采购订单号
     */
    private String purchaseOrderNo;

    /**
     * 单据状态
     */
    private int status;

    /**
     * 采购合同号
     */
    private String purchaseContractNo;

    /**
     * 采购计划单号
     */
    private String purchasePlanNo;

    /**
     * 供应商id
     */
    private String supplierCode;

    /**
     * 预计到货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date estimatedTime;

    /**
     * 实际到货重量
     */
    private double actualArrivalWeight;

    /**
     * 退货重量
     */
    private double backWeight;

    /**
     * 计划单价
     */
    private String planPrice;

    /**
     * 实际单价
     */
    private String actualUnitPrice;

    /**
     * 审核人
     */
    private String reviewBy;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reviewTime;

    /**
     * 首批到货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date firstBatchTime;

    /**
     * 末批到货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endBatchTime;

    /**
     * 附件
     */
    private String enclosureUrl;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;

    /**
     * 物料id
     */
    private long materialId;

    /**
     * 实际重量
     */
    private double actualWeight;

    /**
     * 物料类别
     */
    private int materialCategory;

    /**
     * 关节原因
     */
    private String closeReason;

    /**
     * 物料编码
     */
    private String materialCode;

    /**
     * 打印次数
     */
    private Integer printNum;

    /**
     * 开单日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date billingDate;

    /**
     * 单位
     */
    private String materialUnit;

    /**
     * 需求时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date demandTime;

    /**
     * 采购人员
     */
    private String purchaseBy;

    /**
     * 生成方式
     */
    private Integer generationMode;
}
